﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using System.Data;
using System.IO;
using System.Windows.Forms;

namespace Accesos.ClasesL
{
    public class clsLocal
    {


        public string GeneracionClaves(string Nombre, int Valor)
        {
            int conVal;
            //////////////Primera parte de la cadena
            Nombre = Nombre.ToUpper();
            //////////////Segunda parte de la cadena
            char Primera = Nombre[0];
            int Control = (int)DateTime.Now.Ticks;
            StringBuilder Mas = new StringBuilder();
            Random Val = new Random(Control);

            for (int i = 0; i < 3; i++)
            {
                char l = (char)(Val.Next(97, 123));
                Mas.Append(l);
            }
            string Segundo = Convert.ToString(Mas.ToString());
            Segundo = Segundo.ToUpper();


            Valor++;


            ////////////////Tercera parte de la cadena
            char Vir;
            string Cero = "0";

            string Auxiliar = Convert.ToString(Valor);
            int Auxi = Auxiliar.Length;

            StringBuilder Vas = new StringBuilder();

            for (int j = 0; j < 3-Auxi; j++)
            {
                Vir = char.Parse(Cero);
                Vas.Append(Vir);
            }
            if (Auxi < 3)
                conVal = 3;
            else
                conVal = Auxi;
            for (int y = conVal-3; y < Auxi; y++)
            {
                Vir = Auxiliar[y];
                Vas.Append(Vir);
            }
            string Tercero = Vas.ToString();

            string Resultado = string.Concat(Primera, Segundo, Tercero);
            return Resultado;
        }

      

            public static byte[] Image2Bytes(Image img)
            {
                byte[] bytes = new byte[1];
                try
                {
                    string sTemp = Path.GetTempFileName();
                    FileStream fs = new FileStream(sTemp, FileMode.OpenOrCreate, FileAccess.ReadWrite);
                    img.Save(fs, System.Drawing.Imaging.ImageFormat.Png);
                    // Cerrarlo y volverlo a abrir
                    // o posicionarlo en el primer byte
                    //fs.Close();
                    //fs = new FileStream(sTemp, FileMode.Open, FileAccess.Read);
                    fs.Position = 0;
                    //
                    int imgLength = Convert.ToInt32(fs.Length);
                    bytes = new byte[imgLength];
                    fs.Read(bytes, 0, imgLength);
                    fs.Close();
                   
                }
                catch (Exception e)
                {
                    MessageBox.Show("No a seleccionado imagen de cuenta.");
                }
                return bytes;
            }

            public static Image Bytes2Image(byte[] bytes)
            {
                if (bytes == null) return null;
                //
                MemoryStream ms = new MemoryStream(bytes);
                Bitmap bm = null;
                try
                {
                    bm = new Bitmap(ms);
                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine(ex.Message);
                }
                return bm;
            }        

    }
}
